Search

เพื่อนๆ เคยปวดหัวกับ Request เยอะๆ จนทำให้ระบบล่มก...

  • Share this:

เพื่อนๆ เคยปวดหัวกับ Request เยอะๆ จนทำให้ระบบล่มกันมั้ย? หากเคยเป็นแบบนี้แอดขอแนะนำให้รู้จัก Kafka 👏
.
📚 Kafka เป็น Distributed message queue สร้างขึ้นโดย LinkedIn เป็น Open Source ซึ่งเป็น ลองนึกภาพตามง่ายๆ หากระบบของเรามีผู้เข้าใช้งาน 1,000,000 คนภายในไม่กี่นาทีมันก็จะทำให้เกิดปัญหาตามมามากมาย ไม่ว่าจะเป็น Data lost บ้าง ระบบล่มบ้าง ทำให้แตกกันไปข้างนึงเลยจ้ะพี่จ๋า555
.
✨ Kafka ก็จะมาช่วยแก้ปัญหาตรงนี้ ด้วยการจัดการ queue ให้เข้ามาทีละ request และเมื่อพร้อมก็ค่อยเรียกใช้งานแบบ asynchronous การใช้งานจริงๆ มันจะทำเรื่องนี้ได้ไวมากๆ เลยนะ ทีนี้จะกี่ request ก็ไม่มีดราม่า...เพราะเรามี Kafka นั่นเอง!!
.
📍 การทำงานของ Kafka มีดังนี้
.
✏️1) Producer - จะทำการส่ง Message ไปหา Kafka Server ในรูปแบบของ Array โดยทีละ record
.
✏️2) Consumer - จะทำการรับ Message จาก Kafka Server ที่ Producer ส่งมาและนำไปประมวลผลต่อ
.
✏️3) Kafka Server หรือ Broker เป็นตัวกลางในการ Exchange message โดยจะมี Zookeeper เป็นผู้ควบคุม
.
✏️4) Cluster เป็นกลุ่มของคอมพิวเตอร์ที่ทำงานร่วมกัน หรือ Multiple Broker ในเมื่อ Producer มีหลายอัน ก็ต้องมีหลายๆ Broker ด้วยนะ เวลารับ-ส่ง Message จะได้ไม่ติดขัด
.
✏️5) Topic เป็นที่เก็บชื่อ หรือ Key ทำให้ Kafka Server รู้ว่า Message ด้านในคืออะไร
.
✏️6) Partitions เนื่องจากเวลารับส่งข้อมูล อาจจะมีข้อมูลที่ใหญ่มาก Partitions ก็จะทำการแบ่งข้อมูลเป็นส่วนๆ เพื่อให้ Server รับไหว
.
✏️7) Offset เป็น Sequence id ของ Partitions เมื่อรับ-ส่งข้อมูลจะได้รู้ว่าข้อมูลไหนมาถึงก่อน
.
✏️8) Consumer Groups ก็คือกลุ่มของ Consumer นั่นแหละซึ่งจะช่วยกันทำงานรับข้อมูลจากหลายๆ Producer มาประมวลผลต่อก่อนจะส่งให้ Data Center
.
💥 เพื่อนๆ คนไหนอยากลองใช้งาน Kafka สามารถกดลิงค์นี้ไปลองใช้งานได้เลย >> https://docs.confluent.io/clients-confluent-kafka-python/current/overview.html
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน


Tags:

About author
BorntoDev (www.BorntoDev.com) เว็บไซต์ที่เกี่ยวกับการสอนการพัฒนาโปรแกรมหรือผลงานทางด้านคอมพิวเตอร์ จัดทำขึ้นเมื่อ 27 ตุลาคม 2556 โดยมีจุดมุ่งหมายเพื่อต้องการให้ผู้ที่สนใจพัฒนาซอฟต์แวร์ แอปพลิเคชั่น หรือ ผลงานทางด้านคอมพิวเตอร์ได้มีแหล่งในการเรียนรู้ที่ง่าย และ สนุก ไม่เน้นทฤษฏีจนทำให้ท้อหรือถอดใจไปก่อนจัดทำขึ้นโดยกลุ่มคนที่ต้องการจะเห็นความเปลี่ยนแปลงทางด้านเทคโนโลยี และ มีความหวังว่าจะมีนักพัฒนารุ่นใหม่ของไทยที่มีผลงานที่ยิ่งใหญ่ขึ้นมาได้ โดยจะใช้หลักการ “เน้นสนุก สอนเข้าใจ ทำได้จริง” สามารถเข้ามาเรียนรู้การพัฒนาซอฟต์แวร์ได้ตั้งแต่ระดับมัธยมศึกษาจนถึงนักศึกษาในมหาวิทยาลัย และ บุคคลทั่วไปที่สนใจในการพัฒนาซอฟต์แวร์และเทคโนโลยีคอมพิวเตอร์ ซึ่งในปัจจุบันนี้ถือว่ามีความสำคัญกับทุกสาขาอาชีพ และ เข้ามาเกี่ยวข้องกับทุกๆอย่างในชีวิตของเรา
ความสำเร็จของเรา คือ "การที่ได้เห็นคนไทยหันมาพัฒนาซอฟต์แวร์เพื่อโลก ที่ดีขึ้น"
View all posts